<?php

/**
 * Classe de controle
 * Cria a visualização da pesquisa de um objeto : Fatura
 * @package Sistema
 * @subpackage Fatura
 */
class CFatura_verPorUsuario extends controlePadraoPesquisa {

    /**
     * Método de criação da coleção a ser listada
     * @return colecaoPadraoNegocio coleção a ser listada
     */
    protected function definirColecao() {
	$nUsuario = sessaoSistema::pegar('usuario');
	return $this->filtro->lerFaturasPorPessoa($nUsuario->pegarIdPessoa(),$this->pegarPagina());
    }

    /**
     * Método de apresentação da listagem
     * @param visualizacao $visualizacao
     * @param colecao $colecao
     * @param pagina $pagina
     */
    public static function montarListagem(visualizacao $visualizacao, colecao $colecao, pagina $pagina, $entidade = null) {
	parent::montarListagem($visualizacao, $colecao, $pagina, $entidade);
	$visualizacao->listagem->adicionarColunaPersonalizada('Data do Pagamento', 'CFatura_verPorUsuario::dtPagamento', null, null, 5);
	$visualizacao->listagem->removerColuna(VListaPaginada::colunaEditar);
	$visualizacao->listagem->removerColuna(VListaPaginada::colunaExcluir);
    }

    /**
     * Método que retorna o conteudo da listagem de faturas por usuario referente a data do pagamento
     * @param NFatura $nFatura
     * @return string
     */
    public static function dtPagamento(NFatura $nFatura) {
	if ($nFatura->dataDoPagamento) {
	    return $nFatura->dataDoPagamento->pegarData();
	} else {
	    return sprintf('<a href="?c=CFatura_reimpressao&chave=%s">Em aberto</a>',$nFatura->valorChave());
	}
    }

}

?>